모의해킹
호스트기반모의해킹_01_호스트 개념
작성자 : Heehyeon Yoo|2025-11-12
# 모의해킹# 호스트# Linux# Windows# CLI
1. 호스트 개념을 배우는 이유
타겟 호스트와 소통하고, 결과적으로 공격하기 위해서는 호스트 그 자체에 대한 이해가 필수적이다. 그렇기 때문에 운영체제(Linux, Windows)와 명령어, 그리고 네트워킹 개념을 배워야 한다.
- 호스트 개념: 타겟을 이해하고 공략하기 위한 기초(Linux, Shell, 필수 명령어).
- 네트워킹 개념: 네트워크를 건너 타겟에 도달하기 위한 기초(OSI 모델, 공격 벡터).
"모의해킹은 막연한 공격이 아니라, 타겟 호스트와의 정확한 소통에서 시작된다."
2. Linux와 Shell
Linux(리눅스)
- 정의: 1991년 리눅스 토발즈가 개발한 오픈소스 운영체제.
- 특징: 무료이며, 서버/모바일/IoT/SCADA 등 전 세계적으로 광범위하게 사용된다.
Shell(쉘)
운영체제와 사용자 간의 인터페이스(만남의 장소).
| 구분 | 설명 | 특징 |
|---|---|---|
| CLI(Command Line Interface) | 텍스트/명령어 기반 | 키보드로 입력 → 텍스트 출력.(터미널, CMD) |
| GUI(Graphical User Interface) | 그래픽/아이콘 기반 | 마우스 위주. 훨씬 직관적이고 시각적임. |
일반 유저에게는 GUI가 훨씬 편하고 직관적이다. 하지만 '모의해커' 입장이라면 GUI보다 CLI가 훨씬 중요하고 많이 쓰인다."
3. 왜 공격자들은 Nix(Linux/Unix) 기반을 쓰는가?
공격자들이 Windows보다 Nix 계열(Linux, Unix, Mac 등)을 선호하는 구체적인 이유는 다음과 같다.
- 오픈소스 = 무료 = 익명성(Anonymity)
- Windows는 라이선스가 필요하다. 구매 기록이나 인증 과정이 남는다.
- 익명성이 생명인 공격자 입장에서는 라이선스 등록 과정 자체가 부담스럽다.
- Linux는 무료이고 오픈소스이므로 추적의 부담이 적다.
- 페이로드(Payload) 제작 용이
- Nix 운영체제는 다양한 플랫폼과의 호환성이 매우 높다.
- 타겟 시스템에 맞는 악성 페이로드를 쉽고 빠르게 제작/전송할 수 있다.
- 풍부한 생태계(Tools & Community)
- 이미 수많은 보안 도구와 프레임워크가 개발되어 있다.
- 커뮤니티가 방대하여 경험과 지식 공유가 활발하다.
그 중에서도 왜 Kali Linux인가?
다른 보안용 OS(Parrot, BlackArch 등)도 많지만, Kali를 쓰는 이유:
- OffSec(Offensive Security)의 공식 서포트: 모의해킹 자격증/교육으로 유명한 OffSec에서 공식 지원하므로 업데이트가 꾸준하다.
- All-in-One: 필요한 툴이 이미 다 설치되어 있다. 하나하나 설치하며 환경 설정하느라 시간 낭비할 필요 없이 "공부/해킹 그 자체"에 집중할 수 있다.
4. CLI(터미널) 환경이 필수적인 이유 5가지
모의해킹에서 GUI를 버리고 굳이 CLI를 고집하는 실질적인 이유들이다.
- 속도(Speed): 텍스트 기반이라 그래픽 렌더링이 필요 없고, OS와 직접 통신하므로 훨씬 빠르다.
- 상호운용성(Interoperability): A 툴의 결과를 B 툴로 넘기는 파이프라인(Pipeline) 구축이 매우 쉽다.(데이터 입출력 효율성)
- 가벼움(Lightweight): 불필요한 라이브러리가 없어 시스템 리소스를 적게 먹는다.
- 크로스 플랫폼(Cross-platform): Go, Rust 등으로 짠 툴들을 다른 OS에서도 쉽게 돌릴 수 있다.
- 헤드리스 환경(Headless Environment) 대응:
- 기업용 서버나 컨테이너 환경은 모니터가 없는(GUI가 없는) 경우가 태반이다.
- 이런 Headless 환경에 침투해서 제어하려면 CLI 능력은 선택이 아닌 필수다.(GUI로는 접근조차 불가능할 수 있음)
5. Windows 운영체제와 PowerShell
리눅스가 공격자의 주무기라면, Windows는 실제 필드(기업 환경)의 90% 이상을 차지하는 핵심 타겟이다.
Windows를 배워야 하는 이유
- 현실의 지배자: 전 세계 기업의 대다수가 Active Directory(AD)를 기반으로 한 Windows 인프라를 사용한다.
- 역설적인 현실: 모의해킹 공부는 리눅스 위주로 하지만, 취업 후 맞닥뜨리는 실제 타겟은 대부분 Windows다.
- 진입 장벽: Windows는 유료 라이선스 및 비공개 소스(Closed Source)라 접근성이 낮다. 하지만 클라우드(Azure, AWS)나 평가판 라이선스를 통해 극복해야 한다.
Windows Shell: CMD vs PowerShell
Windows에는 크게 두 가지 쉘이 존재한다. 모의해커는 둘 다 다룰 줄 알아야 한다.
- CMD(Command Prompt):
- 1987년부터 존재한 고전적인 쉘.
- 호환성을 위해 여전히 사용되지만 기능이 제한적이다.
- PowerShell:
.NET기반의 강력한 차세대 쉘이자 스크립팅 언어.- 모든 것을 할 수 있다: 데스크탑, 웹, 클라우드, AD 관리, AI 연동 등 Windows에서 가능한 모든 작업을 코드로 제어할 수 있다.
- 공격자의 강력한 무기: 시스템 관리자가 좋아하는 기능(자동화, 원격 제어)은 공격자에게도 유용하다.
PowerShell의 특징
- Cmdlet(커맨드렛):
동사-명사형태의 직관적인 명령어 구조.- 예:
Get-Content(파일 내용 읽기),Set-Date(날짜 설정).
- 예:
- Alias(별칭): 긴 명령어를 짧게 줄여 사용.
- 예:
Get-Content→cat(리눅스 명령어와 매핑하여 편의성 제공).
- 예:
- 인메모리 실행(In-Memory Execution):
- 악성 스크립트 파일을 디스크에 저장(다운로드)하지 않고, 메모리에 바로 로드하여 실행할 수 있다.
- 파일 흔적을 남기지 않아 탐지를 우회하는 데 유리하다.